package com.xiyuan.smartutils;

/**
 * 国际化定义 工具类
 *
 * @version v1.0.0 @author lgz 2017-5-31 新建与整理
 */

public final class I18ns {
    
    
    /**
     * 生成静态属性，要求静态属性名和配置的properties名称相同
     *
     * @param clazz 类结构
     */
    public static void buildStaticProperties(Class<?> clazz) {
        buildStaticProperties(clazz, clazz.getName());
    }
    
    /**
     * 生成静态属性，要求静态属性名和配置的properties名称相同
     *
     * @param clazz          类结构
     * @param propertiesPath 属性文件类路径，格式(org.xxxxx.Clazz)不含后缀.properties
     */
    public static void buildStaticProperties(Class<?> clazz, String propertiesPath) {
        Resources.buildStaticProperties(clazz, propertiesPath);
    }
    
    /**
     * 新建对象，生成属性，要求属性名和配置的properties名称相同
     *
     * @param clazz 类结构
     */
    public static <T> T buildProperties(Class<T> clazz) {
        return buildProperties(clazz, clazz.getName());
    }
    
    /**
     * 新建对象，生成属性，要求属性名和配置的properties名称相同
     *
     * @param cls            类结构
     * @param propertiesPath 属性文件类路径，格式(org.xxxxx.Clazz)不含后缀.properties
     */
    public static <T> T buildProperties(Class<T> cls, String propertiesPath) {
        return Resources.buildProperties(cls, propertiesPath);
    }
}
